/*
 * @Description:
 * @Version: 1.0
 * @Author: liguansheng
 * @Date: 2022-08-18 11:16:19
 * @LastEditors: liguansheng
 * @LastEditTime: 2022-08-24 10:16:54
 */
export interface IIdentityResourceClaim {
  identityResourceId: string
  type: string
}
export interface IIdentityResourceProperty {
  identityResourceId: string
  key: string
  value: string
}

export interface IIdentityResource {
  id: string
  description: string
  displayName: string
  emphasize: boolean
  enabled: boolean
  name: string
  required: boolean
  showInDiscoveryDocument: boolean
  properties: IIdentityResourceProperty[]
  userClaims: IIdentityResourceClaim[]
  extraProperties: {}
}

export interface ICreateProperty {
  key: string
  value: string
}
export interface ICreateUserClaims {
  type: string
}
export interface ICreateIdentityResourceData {
  description: string
  displayName: string
  emphasize: boolean
  enabled: boolean
  name: string
  required: boolean
  showInDiscoveryDocument: boolean
  properties: ICreateProperty[]
  userClaims: ICreateUserClaims[]
}

export interface IUpdateProperty {
  key: string
  value: string
  identityResourceId: string
}
export interface IUpdateUserClaims {
  type: string
}
export interface IUpdateIdentityResourceData {
  description: string
  displayName: string
  emphasize: boolean
  enabled: boolean
  name: string
  required: boolean
  showInDiscoveryDocument: boolean
  properties: IUpdateProperty[]
  userClaims: IUpdateUserClaims[]
}
